import request from '@/util/ProRequest'

// 获取工单列表（需返回 productionOrderType、producedQuantity 字段）
export function getProductionOrderList(params) {
    return request({
        url: '/productionOrder/list',
        method: 'get',
        params
    })
}

// 新增工单
export function addProductionOrder(data) {
    return request({
        url: '/productionOrder/add',
        method: 'post',
        data
    })
}

// 修改工单
export function updateProductionOrder(data) {
    return request({
        url: '/productionOrder/update',
        method: 'put',
        data
    })
}

// 单行删除工单
export function deleteProductionOrder(id) {
    return request({
        url: '/productionOrder/delete/' + id,
        method: 'delete'
    })
}

// 批量删除工单
export function batchDeleteProductionOrder(ids) {
    return request({
        url: '/productionOrder/batchDelete',
        method: 'delete',
        params: { ids }
    })
}

// 自动生成工单编号
export function getAutoCode() {
    return request({
        url: '/productionOrder/autoCode',
        method: 'get'
    })
}

// 确认工单接口
export function confirmProductionOrder(id) {
    return request({
        url: `/productionOrder/confirm/${id}`,
        method: 'post'
    })
}

// 审核工单接口
export function auditProductionOrder(id, auditResult, auditOpinion, updatorId) {
    return request({
        url: `/productionOrder/audit/${id}`,
        method: 'post',
        params: {
            auditResult,
            auditOpinion,
            updatorId
        }
    })
}

// 获取工单类型字典数据
export function getProductionOrderTypeDictData() {
    return request({
        url: '/dict/productionOrderType',
        method: 'get'
    })
}

// 获取工单状态字典数据
export function getProductionOrderStatusDictData() {
    return request({
        url: '/dict/productionOrderStatus',
        method: 'get'
    })
}

// 获取BOM列表（根据工单编号）
export function getBomList(params) {
    return request({
        url: '/bom/list',
        method: 'get',
        params,
    });
}

// 获取物料需求列表（根据工单编号）
export function getMaterialDemandList(params) {
    return request({
        url: '/material-demand/list',
        method: 'get',
        params,
    });
}